package cn.tedu.ximart.server.mapper;

import cn.tedu.ximart.server.pojo.entity.CategoryAttributeTemplate;
import cn.tedu.ximart.server.pojo.vo.CategoryAttributeTemplateDetailVO;
import cn.tedu.ximart.server.pojo.vo.CategoryAttributeTemplateListItemVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface CategoryAttributeTemplateMapper {


    /**
     *插入分类属性模板数据
     * @param categoryAttributeTemplate 分类属性模板数据
     * @return 受影响的行数，插入数据成功时返回值为1.
     */
    int insert(CategoryAttributeTemplate categoryAttributeTemplate);

    /**
     * 根据id删除分类属性模板数据
     * @param id 期望删除的分类属性模板数据id
     * @return 受影响的行数，成功删除数据时返回1，如果无此条数据返回值为0
     */
    int deleteById(Long id);

    /**
     * 根据id批量删除若干个分类属性模板数据
     * @param id 期望批量删除的数据id
     * @return 受影响的行数，返回值为成功执行删除的数据量
     */
    int deleteByIds(Long[] id);


    /**
     * 查询属性数量
     * @return 返回值为查询到的分类数量
     */
    int count();

    /**
     * 根据id查询属性详情
     * @param id 期望查询的id
     * @return 返回值为查询到的数据，如果无此id对应的数据则返回null.
     */
    CategoryAttributeTemplateDetailVO getById(Long id);

    /**
     * 查询相属性的列表项
     * @return 返回值为查询到数据集合
     */
    List<CategoryAttributeTemplateListItemVO> list();

}
